<html>
<head><meta charset="utf-8"><title>recursive solver and chalk-solve seam · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html">recursive solver and chalk-solve seam</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="197859331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197859331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197859331">(May 17 2020 at 17:20)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> or whoever has knowledge of the recursive solver:<br>
As part of <a href="https://github.com/rust-lang-nursery/chalk/issues/456">chalk#456</a> I'm moving the recursive solver out of chalk-solve and into its own crate. I'm refactoring the solver to work against a trait, like <code>Context</code> in the SLG solver. I found that the <a href="https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/recursive/fulfill.rs"><code>fulfill</code></a> module depends on a lot of stuff in chalk-solve, some of which is also used by the SLG context. I haven't found much documentation on the recursive solver, so I don't know if abstracting the stuff in the <code>fulfill</code> module out of the recursive solver and into its <code>Context</code>/<code>Database</code> trait makes sense. That is, is it core to the recursive solver, or is it more "Rust-specific" like the code in chalk-solve?</p>



<a name="197859676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197859676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197859676">(May 17 2020 at 17:27)</a>:</h4>
<p>I think my best answer here is "I don't know"</p>



<a name="197859722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197859722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197859722">(May 17 2020 at 17:28)</a>:</h4>
<p>Let me look through fulfill real quick (I admit I really haven't looked through it much)</p>



<a name="197859826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197859826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197859826">(May 17 2020 at 17:31)</a>:</h4>
<p>Wow the total recursive-specific code is tiny</p>



<a name="197859829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197859829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197859829">(May 17 2020 at 17:31)</a>:</h4>
<p>Like roughly 500 lines...</p>



<a name="197859985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197859985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197859985">(May 17 2020 at 17:34)</a>:</h4>
<p>I'm curious...what would it be like going the other way...i.e. moving the chalk-engine slg logic into chalk-solve</p>



<a name="197860001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860001">(May 17 2020 at 17:34)</a>:</h4>
<p>I suspect it won't "reduce" much, since the logic file itself is pretty large</p>



<a name="197860004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860004">(May 17 2020 at 17:34)</a>:</h4>
<p>And you also have forest</p>



<a name="197860009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860009">(May 17 2020 at 17:35)</a>:</h4>
<p>And a few other files</p>



<a name="197860036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860036">(May 17 2020 at 17:35)</a>:</h4>
<p>I guess it would help if I could read through a basic outline of the recursive solver (like the explanation of forest, tables, strands, method of solving, etc for SLG). Does such a thing exist?</p>



<a name="197860098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860098">(May 17 2020 at 17:37)</a>:</h4>
<p>Not that I'm aware of, but you could ask <span class="user-mention" data-user-id="129457">@Florian Diebold</span></p>



<a name="197860127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860127">(May 17 2020 at 17:37)</a>:</h4>
<p>So you mentioned the recursive-specific code is tiny. Do you know specifically which files are recursive-specific?</p>



<a name="197860134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860134">(May 17 2020 at 17:37)</a>:</h4>
<p>If you do go through and learn about it, if you document it, that would be awesome</p>



<a name="197860181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860181">(May 17 2020 at 17:38)</a>:</h4>
<p>I just looked through the recursive module</p>



<a name="197860195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860195">(May 17 2020 at 17:38)</a>:</h4>
<p>Don't stress about it either, I can wait for Florian or someone with more context, while also reading more of the code.</p>



<a name="197860373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860373">(May 17 2020 at 17:43)</a>:</h4>
<p>Oh I guess there's also <code>recursive.rs</code> which adds another 500 lines</p>



<a name="197860503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860503">(May 17 2020 at 17:45)</a>:</h4>
<p>Ya, <code>recursive.rs</code> and the three files in the <code>recursive</code> folder. Also, potentially some more things in modules like <code>infer</code>, depending on if that's "core recursive logic" or not.</p>



<a name="197860670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860670">(May 17 2020 at 17:48)</a>:</h4>
<p><code>infer</code> and such are shared with slg</p>



<a name="197860675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860675">(May 17 2020 at 17:48)</a>:</h4>
<p>I'm wondering if it's worth the time/thought to split this out</p>



<a name="197860690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860690">(May 17 2020 at 17:49)</a>:</h4>
<p>Or if it might just be better to put it under a feature</p>



<a name="197860695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860695">(May 17 2020 at 17:49)</a>:</h4>
<p>(though I know <span class="user-mention" data-user-id="116009">@nikomatsakis</span> isn't keen on those <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span>)</p>



<a name="197860704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860704">(May 17 2020 at 17:49)</a>:</h4>
<p>Ya, but since it is also used heavily in <code>fulfill</code>, I was wondering if <code>fulfill</code> was really core to the recursive solver or not. This is the only difficult seam that I've found; otherwise the recursive solver lifts out of chalk-solve pretty easily.</p>



<a name="197860770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860770">(May 17 2020 at 17:50)</a>:</h4>
<p>there are really two goals here: 1) Make it so that if you don't use the recursive solver, you don't compile it 2) Have a "logic" boundary for people to understand</p>



<a name="197860774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860774">(May 17 2020 at 17:50)</a>:</h4>
<p>both of those are more or less solved with a feature</p>



<a name="197860784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860784">(May 17 2020 at 17:51)</a>:</h4>
<p>fulfill <em>does</em> seem to be pretty important</p>



<a name="197860790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860790">(May 17 2020 at 17:51)</a>:</h4>
<p>Hm, avoiding compilation does seem like a different issue. Currently it's just a <code>match</code> on an enum to choose the solver.</p>



<a name="197860796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860796">(May 17 2020 at 17:51)</a>:</h4>
<p>but I would imagine fulfill to be more analogous to the functions in <code>SlgContext</code></p>



<a name="197860837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860837">(May 17 2020 at 17:52)</a>:</h4>
<p>I was thinking " it would be nice try to set up the crate structure in a way that we only need to compile one or the other" meant to avoid recompiling both solvers when you're modifying only one.</p>



<a name="197860849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860849">(May 17 2020 at 17:52)</a>:</h4>
<p>Well, I imagine that you can have a feature that turns off the recursive solver, a feature that turns off slg</p>



<a name="197860851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860851">(May 17 2020 at 17:52)</a>:</h4>
<p>Ya, that makes sense as well</p>



<a name="197860855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860855">(May 17 2020 at 17:52)</a>:</h4>
<p>so, tests would enable them both</p>



<a name="197860859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860859">(May 17 2020 at 17:52)</a>:</h4>
<p>rust-analyzer would enable only recursive</p>



<a name="197860867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860867">(May 17 2020 at 17:53)</a>:</h4>
<p>rustc would enable slg</p>



<a name="197860873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860873">(May 17 2020 at 17:53)</a>:</h4>
<p>With the recursive solver lifted into a separate crate, this would be easier.</p>



<a name="197860882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860882">(May 17 2020 at 17:53)</a>:</h4>
<p>(also remember that eventually we're most likely going to settle into one solver eventually anyways)</p>



<a name="197860896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860896">(May 17 2020 at 17:54)</a>:</h4>
<p>Mmm, you can conditionally include a module based on a feature</p>



<a name="197860962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mark Drobnak <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860962">(May 17 2020 at 17:54)</a>:</h4>
<p>So, until we know which solver we're going to use, it's OK for now to not have an explicit interface between chalk-solve and the recursive resolver?</p>



<a name="197860990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197860990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197860990">(May 17 2020 at 17:55)</a>:</h4>
<p>yeah, that's fine :)</p>



<a name="197998030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/recursive%20solver%20and%20chalk-solve%20seam/near/197998030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam.html#197998030">(May 18 2020 at 21:30)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/recursive.20solver.20and.20chalk-solve.20seam/near/197860695">said</a>:</p>
<blockquote>
<p>(though I know <span class="user-mention silent" data-user-id="116009">nikomatsakis</span> isn't keen on those <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span>)</p>
</blockquote>
<p>it's true, I'm not :P</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>